(emerge-with-ancestor): Applied Donald Erway's fix patch, which
authorEric S. Raymond <esr@snark.thyrsus.com>
Fri, 9 Apr 1993 23:17:05 +0000 (23:17 +0000)
committerEric S. Raymond <esr@snark.thyrsus.com>
Fri, 9 Apr 1993 23:17:05 +0000 (23:17 +0000)
included the following explanatory comment: "D.Erway - This used to
just do emerge-get-diff3-group on 2, then on 3. This was incorrect,
since the file 3 info for a diff can preceed the file 2 info for that
same diff. So we save and restore point to overcome this.

lisp/emerge.el

index c0efed3217533a3df710d3a0993be9f95c794add..77eac43320040f8c009138689598540836788938 100644 (file)
@@ -3,7 +3,7 @@
 ;;; The author has placed this file in the public domain.
 
 ;; Author: Dale R. Worley <drw@math.mit.edu>
-;; Version: 4
+;; Version: 4.1
 ;; Keywords: unix, tools
 
 ;;; Commentary:
@@ -1103,8 +1103,11 @@ This is  not  a user option, since Emerge uses it for its own processing.")
         (if (not (string-equal agreement "1"))
             (setq list
                   (cons 
-                   (let ((group-2 (emerge-get-diff3-group "2"))
-                         (group-3 (emerge-get-diff3-group "3")))
+                   (let (group-2 group-3 pos)
+                     (setq pos (point))
+                     (setq group-2 (emerge-get-diff3-group "2"))
+                     (goto-char pos)
+                     (setq group-3 (emerge-get-diff3-group "3"))
                      (vector (car group-2) (car (cdr group-2))
                              (car group-3) (car (cdr group-3))
                              (cond ((string-equal agreement "2") 'prefer-A)